//=============================================================================

#include "../../../../inc/aObject.h"
#include "../../../../inc/doCommon.h"

//=============================================================================

aObject::aObject()
{
  mass = 1.0f;
  physType = OT_STATIC | OT_SOLID;
}

//=============================================================================

void aObject::aoPhysicalProcess()
{
  if (((physType & OT_STATIC) == 0) && (!AUX.aaCompareFloat(mass, 0.0f)))
  {
    //velocity = (force/mass)*AUX.dt;
    //pos += velocity;

    //model.origin = pos;
    //force.avNull();
  }
}

//=============================================================================

bool aObject::aoHaveCollision(const aObject& obj)
{
  if (AUX.aaGetMagnitude(obj.pos - pos) < AUX.aaGetMagnitude(obj.model.bRadius + model.bRadius))
    return 1;

  return 0;
}

//=============================================================================

void aObject::aoRemoveObject()
{
  model.amRemoveModel();
}

//=============================================================================

void aObject::aoCloneObject(const aObject& obj)
{
  aoRemoveObject();

  model.amCloneModel(obj.model);

  pos = obj.pos;
  physType = obj.physType;
  force = obj.force;
  velocity = obj.velocity;
  mass = obj.mass;
}

//=============================================================================

aObject::~aObject()
{
}

//=============================================================================
